Lean 4 基礎
Lean 4のドキュメント
コメント
code:memo
-- 1行コメント
/-
複数行コメント
-/
宣言的コマンド
#で始まるものは実行すると結果がすぐに確認できるようコマンドに分類される
こういうのは「対話的」とよばれる
code:memo
-- evalコマンド
--> "Hello, World!"
def double (x : Nat) : Nat :=
x + x
--> 6
code:memo
--> 2 + 2 = 4 : Prop
code:memo
theorem easy : 2 + 2 = 4 :=
rfl
theorem hard : FermatLastTheorem :=
sorry
タクティク
証明を書くためのコマンドはタクティク(tactic)
rw
rfl
apply
induction
rw
⊢
Goalが左辺=右辺なら証明完了
induction n with d hd
apply
apply h2 at h1なら仮定h2を仮定h1に適用する
code:memo
h1: x = 37
h2: x = 37 → y = 42
↓ apply h2 at h1
h2: x = 37 → y = 42
h1: y = 42
apply succ_inj at hなら仮定hのsuccを除去する
succ(a) = succ(b)→a = b
code:memo
h: succ (succ 0) = succ (succ (succ 0))
↓ apply succ_inj at h
h: succ 0 = succ (succ 0)
apply succ_injならゴールに適用する
exact
exact hで仮定とゴールを比較する
【Lean実況】数学系のためのLean勉強会の教材を解くBasic1 - YouTube
https://www.youtube.com/watch?v=1saX8G-wN2o&list=PL-2TwNpShL3yJRE2xUwOEujUv6j4S0_ml&index=1
確認用
Q. 1行コメント
Q. 複数行コメント
Q. intro
Q. constructor
Q. cases
Q. rw
Q. apply
Q. simp
Q. exact
参考
関連
メモ
調査用